using IM.Easy.Infrastructure.Query;
using System.ComponentModel.DataAnnotations;


namespace IM.Easy.CoreServices.Dto
{
    /// <summary>
    /// 授权配置表查询实体
    /// </summary>
    public class SysAuthConfigQueryDto : QueryBase
    {
        /// <summary>
        /// 提供商名称
        /// </summary>
        public string ProviderName { get; set; }

        /// <summary>
        /// 提供商编码
        /// </summary>
        public string Provider { get; set; }
    }

    /// <summary>
    /// 授权配置表dto
    /// </summary>
    public class SysAuthConfigDto
    {
        /// <summary>
        /// 主键
        /// </summary>
        public long Id { get; set; }
        /// <summary>
        /// 提供商名称
        /// </summary>
        public string ProviderName { get; set; }

        /// <summary>
        /// 提供商编码
        /// </summary>
        public string Provider { get; set; }

        /// <summary>
        /// 客户端ID
        /// </summary>
        public string ClientId { get; set; }
        /// <summary>
        /// 客户端密钥
        /// </summary>
        public string ClientSecret { get; set; }
        /// <summary>
        /// 回调地址
        /// </summary>
        public string RedirectUri { get; set; }
        /// <summary>
        /// 权限范围
        /// </summary>
        public string Scopes { get; set; }
        /// <summary>
        /// 启用状态
        /// </summary>
        public bool IsActive { get; set; }
        /// <summary>
        /// 是否系统内置
        /// </summary>
        public bool IsSystem { get; set; }
        /// <summary>
        /// 创建时间
        /// </summary>
        public DateTime CreatedAt { get; set; }
        /// <summary>
        /// 创建人ID
        /// </summary>
        public long CreatedBy { get; set; }
        /// <summary>
        /// 更新时间
        /// </summary>
        public DateTime UpdatedAt { get; set; }
        /// <summary>
        /// 更新人ID
        /// </summary>
        public long UpdatedBy { get; set; }
        /// <summary>
        /// 是否已删除
        /// </summary>
        public bool IsDeleted { get; set; }
        /// <summary>
        /// 删除人ID
        /// </summary>
        public long DeletedBy { get; set; }
        /// <summary>
        /// 删除时间
        /// </summary>
        public DateTime DeletedAt { get; set; }
    }
}
